!



!


!************** Parameter

sts   =        c    !** Stockstrke
ecode =        d    !** Code fr Reihenfenster
                    !   (1 Normal, 2 Endelement links, 3 Endelement rechts
                    !    4 Zwischenelement)
sfba  = max(0, e)   !** Hhe_1_Fensterbank_Auen
hfba  = max(0, f)   !** Hhe_2_Fensterbank_Auen
sfbi  = max(0, g)   !** Strke_Fensterbank_Innen
uba   = max(0, h)   !** berstand_Fbank_Auen
suba  = max(0, i)   !** Seitl_berst_Fbank_Auen
ubi   = max(0, j)   !** berstand_Fbank_Innen
subi  = max(0, k)   !** Seitl_berst_Fbank_Innen
matfa =        l    !** Material_Fensterbank_Auen
matfi =        m    !** Material_Fensterbank_Innen

!*************************



!******   anti-Flip

if e~ = 1 then
    mulz -1
    addz -sts
    rr1 = -r_
    rr = rr1 + sts
else
    rr1 = r_
    rr = rr1
endif




!************** Koordinaten


suba1 = suba
suba2 = suba
subi1 = subi
subi2 = subi
wcode1 = 15
wcode2 = 15


if rr1 = 0 then   !**** asymmetrische Laibung in gerader Wand

    if WIDO_RIGHT_JAMB=0 and WIDO_LEFT_JAMB<>0 then
        suba2 = 0
        subi2 = 0
    endif
    if WIDO_RIGHT_JAMB<>0 and WIDO_LEFT_JAMB=0 then
        suba1 = 0
        subi1 = 0
    endif
endif

if ecode = 2 then
    suba2 = 0
    subi2 = 0
    wcode2 = 8
endif
if ecode = 3 then
    suba1 = 0
    subi1 = 0
    wcode1 = 8
endif
if ecode = 4 then
    suba1 = 0
    suba2 = 0
    subi1 = 0
    subi2 = 0
    wcode1 = 8
    wcode2 = 8
endif




if rr1 = 0 then          !******   Gerade Wand

    xkn1 = -a/2 + WIDO_LEFT_JAMB
    xkn2 = a/2 - WIDO_RIGHT_JAMB
    xkw1 = -a/2 + WIDO_LEFT_JAMB
    xkw2 = a/2 - WIDO_RIGHT_JAMB
    ykw = k_

    xke1 = xkw1
    xke2 = xkw2
    yke = ykw + uba

    xbn1 = -a/2
    xbn2 = a/2
    xbw1 = -a/2
    xbw2 = a/2
    ybw = k_ - c_

    xbe1 = -a/2
    xbe2 = a/2
    ybe = ybw - ubi


else                    !******   Gebogene Wand

    if WIDO_RIGHT_JAMB<>0 or WIDO_LEFT_JAMB<>0 then
        hfba = 0
        sfbi = 0
    endif

    if rr1 < 0 then      !******   Nach auen gebogen

        rr = abs(rr)

        rnah = sqr( rr^2 + (a/2)^2 ) - k_
        alph = atn((a/2) / rr )

        xkn1 = -a/2
        xkn2 = a/2
        xkw1 = -a/2 + k_*sin(alph)
        xkw2 = a/2 - k_*sin(alph)
        ykw = k_ * cos(alph)

        xke1 = xkw1 + uba*tan(alph)
        xke2 = xkw2 - uba*tan(alph)
        yke = ykw + uba

        xbn1 = -a/2 - sts*tan(alph)
        xbn2 = a/2 + sts*tan(alph)
        xbw1 = -((rnah + c_) * sin(alph))
        xbw2 = (rnah + c_) * sin(alph)
        ybw = -((rnah + c_) * cos(alph) - rr)

        xbe1 = xbw1 - ubi * tan(alph)
        xbe2 = xbw2 + ubi * tan(alph)
        ybe = ybw - ubi 

    else                !******   Nach innen gebogen

        rweit = sqr( rr^2 + (a/2)^2 ) + k_
        alph = atn((a/2) / (rr-sts))
    
        xkn1 = -(rr * tan(alph))
        xkn2 = rr * tan(alph)
        xkw1 = xkn1 - (rweit - rr/cos(alph)) * sin(alph)
        xkw2 = xkn2 + (rweit - rr/cos(alph)) * sin(alph)
        ykw = (rweit - rr/cos(alph)) * cos(alph)
    
        xke1 = xkw1 - uba * tan(alph)
        xke2 = xkw2 + uba * tan(alph)
        yke = ykw + uba
    
        xbn1 = -a/2
        xbn2 = a/2
        xbw1 = -((rweit - c_) * sin(alph))
        xbw2 = (rweit - c_) * sin(alph)
        ybw = -(rr - ((rweit - c_) * cos(alph)))
    
        xbe1 = xbw1 + ubi * tan(alph)
        xbe2 = xbw2 - ubi * tan(alph)
        ybe = ybw - ubi
    
    endif

endif


dz1 = max(abs(xke1-suba1), abs(xkw1-suba1),
         abs(xbw1-subi1), abs(xbe1-subi1))

dz2 = max(xke2+suba2, xkw2+suba2,
         xbw2+subi2, xbe2+subi2)

mz = dz1 + dz2




!************** 3D-Krper der Fensterbank



!******   Fensterbank auen

if w~ = 0 and v~ = 1 then addx (WIDO_RIGHT_JAMB-WIDO_LEFT_JAMB)
if w~ = 180 and v~ = 0 then addx (WIDO_RIGHT_JAMB-WIDO_LEFT_JAMB)

material matfa

if hfba <> 0 then

    rotx -90

    if ykw > 0 then    
        cutpolya 4, 1, 0,
            xkn1, 0, wcode1,
            xkw1, ykw, wcode1,
            -dz1-0.05, ykw, wcode1,
            -dz1-0.05, 0, wcode1
        cutpolya 4, 1, 0,
            xkn2, 0, wcode2,
            xkw2, ykw, wcode2,
            dz2+0.05, ykw, wcode2,
            dz2+0.05, 0, wcode2
    endif

    if uba > 0 then    
        cutpolya 4, 1, 0,
            xkw1-suba1, ykw, wcode1,
            xke1-suba1, yke, wcode1,
            -dz1-0.05, yke, wcode1,
            -dz1-0.05, ykw, wcode1
        cutpolya 4, 1, 0,
            xkw2+suba2, ykw, wcode2,
            xke2+suba2, yke, wcode2,
            dz2+0.05, yke, wcode2,
            dz2+0.05, ykw, wcode2
    endif
    
    del 1
    
    rotx -90
    rotz -90
    rotx 90
    addz -dz2-0.02

    addy c~

    prism_ 4, mz+0.04,
        -yke, 0, 15,
        -yke, sfba, 15,
        0, hfba, 15,
        0, 0, 15

    del 1
    del 4

    if ykw > 0 then    
        cutend
        cutend
    endif
    if uba > 0 then    
        cutend
        cutend
    endif

endif

if w~ = 0 and v~ = 1 then del 1
if w~ = 180 and v~ = 0 then del 1

!******   Fensterbank innen

material matfi

if sfbi <> 0 then

    rotx -90

    if ybw < -sts then
        cutpolya 4, 1, 0,
            xbn1, -sts, wcode1,
            xbw1, ybw, wcode1,
            -dz1-0.05, ybw, wcode1,
            -dz1-0.05, -sts, wcode1
        cutpolya 4, 1, 0,
            xbn2, -sts, wcode2,
            xbw2, ybw, wcode2,
            dz2+0.05, ybw, wcode2,
            dz2+0.05, -sts, wcode2
    endif

    if ubi > 0 then
        cutpolya 4, 1, 0,
            xbw1-subi1, ybw, wcode1,
            xbe1-subi1, ybe, wcode1,
            -dz1-0.05, ybe, wcode1,
            -dz1-0.05, ybw, wcode1
        cutpolya 4, 1, 0,
            xbw2+subi2, ybw, wcode2,
            xbe2+subi2, ybe, wcode2,
            dz2+0.05, ybe, wcode2,
            dz2+0.05, ybw, wcode2
    endif

    del 1

    rotx -90
    rotz -90
    rotx 90
    addz -dz2-0.02

    prism_ 5, mz+0.04,
        sts, 0, 15,
        -ybe, 0, 15,
        -ybe, sfbi-0.005, 79,
        -ybe - 0.005, sfbi, 15,
        sts, sfbi, 15

    del 4

    if ybw < -sts then    
        cutend
        cutend
    endif
    if ubi > 0 then
        cutend
        cutend
    endif

endif







